![Namecheap Takes Down Polyfill.io Service Following Supply Chain Attack](https://cdn.sanity.io/images/cgdhsj6q/production/6af25114feaaac7179b18127c83327568ff592d1-1024x1024.webp?w=800&fit=max&auto=format)
Security News
Namecheap Takes Down Polyfill.io Service Following Supply Chain Attack
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
@babel/plugin-transform-spread
Advanced tools
Package description
The @babel/plugin-transform-spread npm package is a plugin for Babel, a JavaScript compiler, that transforms spread properties in object literals and spread elements in array literals into a form that can be understood by environments that do not support the spread syntax. This transformation ensures compatibility with older browsers or JavaScript environments.
Object Spread
Transforms spread properties in object literals to use Object.assign, enabling the combination of multiple objects into one.
{"const obj1 = { a: 1, b: 2 };\nconst obj2 = { ...obj1, c: 3 };\n// Transformed to:\n// const obj2 = Object.assign({}, obj1, { c: 3 });"}
Array Spread
Transforms spread elements in array literals to use Array.concat, allowing the creation of new arrays by combining or adding elements.
{"const arr1 = [1, 2];\nconst arr2 = [...arr1, 3, 4];\n// Transformed to:\n// const arr2 = arr1.concat([3, 4]);"}
This package provides functionality similar to @babel/plugin-transform-spread but focuses on both spreading of elements and the rest properties for object destructuring assignment and spread properties for object literals. It's a more comprehensive solution for handling spread and rest properties in modern JavaScript.
While not a direct alternative, core-js includes polyfills for many ECMAScript features, including the spread syntax. It allows developers to use spread syntax in environments that do not natively support it by providing the necessary polyfills.
Changelog
v7.24.7 (2024-06-05)
babel-node
babel-traverse
constantViolations
with destructuring (@liuxingbaoyu)babel-helper-transform-fixture-test-runner
, babel-plugin-proposal-explicit-resource-management
using
in switch
correctly (@liuxingbaoyu)babel-helpers
, babel-runtime-corejs2
, babel-runtime-corejs3
, babel-runtime
Readme
Compile ES2015 spread to ES5
See our website @babel/plugin-transform-spread for more information.
Using npm:
npm install --save-dev @babel/plugin-transform-spread
or using yarn:
yarn add @babel/plugin-transform-spread --dev
FAQs
Compile ES2015 spread to ES5
We found that @babel/plugin-transform-spread demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.
Security News
A JavaScript library maintainer is under fire after merging a controversial PR to support legacy versions of Node.js.